home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 2: Applications
/
Linux Cubed Series 2 - Applications.iso
/
math
/
gle-3.000
/
gle-3
/
gle
/
dviep24.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-02-07
|
1KB
|
51 lines
#define XSIZECM 19 /* at 120 DPI */
#define YSIZECM 27 /* at 72 DPI */
#ifdef __TURBOC__
#define NXBITS 1352 /* 180 dpi */
#define NYBITS 1920 /* 180 dpi (24 pin epson printers) */
#else
#define NXBITS 300 /* because vax cant cope with one huge record */
#define NYBITS 408
#endif
#include "bitmap.h"
dvitype(void)
{
printf("Epson (24Pin)");
}
bitmap_print()
{
int y;
for (y=nybits-24 ; y>=0 ; y-=24)
print_row(y);
}
print_row(int y)
{
unsigned char savechar,temp;
static unsigned char out_buff[3*NXBITS+20]="\x1b*\x27";
unsigned int r,i,j,newy,x,z;
unsigned char *line;
dbg printf("row %d\n",y);
for (r=5;r<(3*NXBITS+6);r++) out_buff[r] = 0;
for (r=0; r<24; r++,y++) {
line = bitmap_line(y);
for (x=0,j = 5; x<NXBITS;x++,j++) {
z = 1 << (x % 8);
if ((z & line[x/8]) != 0) {
if (r<8) {
out_buff[x*3+7] |= 1 << r;
} else if (r<16) {
out_buff[x*3+6] |= 1 << (r-8);
} else {
out_buff[x*3+5] |= 1 << (r-16);
}
}
}
}
out_buff[3] = (x) & 255;
out_buff[4] = (x) / 256;
printmem(out_buff,x*3+5);
pprintf("\x0d\x1bJ\x18");
}